From 757df439ab19d3e32540adfa8f642ccca1876d84 Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Fri, 24 Oct 2014 16:17:10 +0200 Subject: [PATCH] tools/hotplug: add helper script to visualize systemd dependencies A small helper to draw a graph with dot(1) and show it with display(1): bash tools/hotplug/Linux/systemd/show_service_dependencies.sh \ tools/hotplug/Linux/systemd/*.in A red line means Requires= aka "enable it" A blue line means After= A green line means Before= Signed-off-by: Olaf Hering Acked-by: Wei Liu --- .../systemd/show_service_dependencies.sh | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tools/hotplug/Linux/systemd/show_service_dependencies.sh diff --git a/tools/hotplug/Linux/systemd/show_service_dependencies.sh b/tools/hotplug/Linux/systemd/show_service_dependencies.sh new file mode 100644 index 0000000000..e3e4c68f8e --- /dev/null +++ b/tools/hotplug/Linux/systemd/show_service_dependencies.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# dot(1) from graphviz, display(1) from ImageMagick +# Usage: bash $0 tools/hotplug/Linux/systemd/*.in +( +echo " digraph systemd {" +for file in "$@" +do + if test -f "$file" + then + unit=${file##*/} + unit=${unit%.in} + requires="`grep ^Requires= $file | cut -f 2- -d =`" + before="`grep ^Before= $file | cut -f 2- -d =`" + after="`grep ^After= $file | cut -f 2- -d =`" + echo "\"$unit\" [fillcolor=lightgray color=black fontcolor=black style=filled];" + for i in $requires + do + echo "\"$i\" -> \"$unit\" [color=red];" + done + for i in $after + do + echo "\"$i\" -> \"$unit\" [color=blue];" + done + for i in $before + do + echo "\"$unit\" -> \"$i\" [color=green];" + done + fi +done +echo "}" +) | dot -Tpng | display - -- 2.30.2